<?php
class ProyectosController extends AppController {

	var $uses = array('Proyecto');
	var $helpers = array('Access');

	function index() {
		$this->Proyecto->recursive = 0;
		$this->set('proyectos', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid proyecto', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('proyecto', $this->Proyecto->read(null, $id));
	}

	function add() {
		if (!empty($this->data)){
			$this->Proyecto->create();
			if ($this->Proyecto->save($this->data)) {
				$this->Session->setFlash(__('El proyecto ha sido guardado', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('The proyecto could not be saved. Please, try again.', true));
			}
		}
		$unidades = $this->Proyecto->Unidade->find('list', array('fields'=>array('Unidade.id','Unidade.nombre')));
		$cartillas = $this->Proyecto->Cartilla->find('list', array('fields'=>array('Cartilla.id','Cartilla.nombre')));
		$modulos = $this->Proyecto->Modulo->find('list', array('fields'=>array('Modulo.id','Modulo.nombre')));
		$areas = $this->Proyecto->Area->find('list', array('fields'=>array('Area.id','Area.nombre')));
		$metodologias = $this->Proyecto->Unidade->Metodologia->find('list', array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$this->set(compact('unidades', 'cartillas', 'modulos', 'areas', 'metodologias'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid proyecto', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Proyecto->save($this->data)) {
				$this->Session->setFlash(__('El proyecto ha sido actualizado', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El proyecto no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Proyecto->read(null, $id);
		}
		
		
		
		$unidad_data = $this->Proyecto->Unidade->read(null,$this->data['Proyecto']['unidade_id']);
		
		$unidades = $this->Proyecto->Unidade->find('list', array('fields'=>array('Unidade.id','Unidade.nombre'),
													'conditions'=>array('Unidade.area_id'=>$this->data['Proyecto']['area_id'])));
		
		$grado = $unidad_data['Unidade']['grado_id'];
	
		$grados = $this->Proyecto->Unidade->Grado->find('list',array('fields'=>array('Grado.id','Grado.nombre'), 
											  'conditions'=>array('Grado.metodologia_id'=>$unidad_data['Unidade']['metodologia_id'])));
		$cartillas = $this->Proyecto->Unidade->Cartilla->find('list',array('fields'=>array('Cartilla.id','Cartilla.nombre'), 
											  'conditions'=>array('Cartilla.grado_id'=>$grado)));
	
		$modulos = $this->Proyecto->Unidade->Modulo->find('list',array('fields'=>array('Modulo.id','Modulo.nombre'), 
											  'conditions'=>array('Modulo.grado_id'=>$grado)));
	
		$areas = $this->Proyecto->Unidade->Area->find('list',array('fields'=>array('Area.id','Area.nombre'), 
											  'conditions'=>array('Area.grado_id'=>$grado)));
	
		$metodologias = $this->Proyecto->Unidade->Metodologia->find('list', array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$this->set(compact('unidades', 'cartillas', 'modulos', 'areas', 'metodologias', 'grados', 'grado', 'unidad_data'));
	}
	   
	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for proyecto', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Proyecto->delete($id)) {
			$this->Session->setFlash(__('Proyecto eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El proyecto no se ha podido eliminar', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function get_proyectos_unidad($unidad = null){
		if( $unidad!=null){
			$proyectos = $this->Proyecto->find("list", array("fields"=>array("Proyecto.id", "Proyecto.nombre"), 
															  "conditions"=>array("Proyecto.unidade_id"=>$unidad)));
			$this->view = 'Json';
			$this->set(compact('proyectos'));
			$this->set('json', 'proyectos');
		}
	}
}
